package ESP.Dao.Impl;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ICDao {
	/**
	 * c01课题信息-查询
	 */
	public List<Map<String,Object>> queryTask(String taskId, String taskName, String taskNote,
			String taskFacultyId, String taskMajorId, int taskYearStart, int taskYearEnd);
	/**
	 * C01课题信息-增加
	 */
	public int addTask(String task_id, String task_name, String task_note, String task_major_id,
			String task_faculty_id, int task_year);
	/**
	 * C01课题信息-删除
	 */
	public int removeTask(String task_id);
	/**
	 * C01课题信息-修改
	 */
	public int updateTask(String task_id, String task_name, String task_note, String task_major_id,
			String task_faculty_id, int task_year);
	/**
	 * C01查询学生信息(学生做课题查询时 限制查询条件)
	 * select * from esp_student where stu_id=?
	 */
	public Map<String,Object> queryStu(String user_id);
	/**
	 * C01增加小组(在组长选题的时候调用)
	 */
	public int addGroup(String stu_id, String group_task_id);
	/**
	 * C01查询指定学生id的小组信息和课题信息 
	 */
	public Map<String, Object> queryTaskGroup(String user_id);
	/**
	 * C01更新小组信息->group_task_id
	 */
	public int updateGroupTaskId(String stu_id, String group_task_id);
	/**
	 * C02查询个人计划表头
	 */
	public List<Map<String,Object>> queryPlanHeadC02(String user_id, String user_role_id,
		String stuId, String stuName, String groupName, String taskId, String majorId, String facultyId);
	/**
	 * C02查询个人计划表体
	 * SELECT * from esp_student s LEFT JOIN esp_user u ON u.USER_ID=s.STU_ID WHERE s.STU_GROUP_ID=(select s1.STU_GROUP_ID from esp_student s1 where s1.STU_ID='3109001445')
	 */
	public List<Map<String,Object>> queryPlanBodyC02(String stu_id);
	/**
	 * c03查询小组计划表头
	 */
	public List<Map<String,Object>> queryPlanHeadC03(String user_id, String user_role_id,
			String stuId, String stuName, String groupName, String taskId, String majorId, String facultyId);
	/**
	 * C03查询小组计划表体
	 */
	public List<Map<String,Object>> queryPlanBodyC03(String stu_id);
	/**
	 * C03查询小组计划表尾
	 */
	public List<Map<String,Object>> queryPlanFootC03(String stu_id);
	/**
	 * c03组员任务分配
	 */
	public int updateMissionC03(String stu_id, String stu_mission);
	/**
	 * C02/C03增加计划
	 */
	public int addPlan(String planId, String planStuId, String planWeek, String planExpect,
			String planDone, Date planCreTime, String planGroupFlag,
			String planAttendance, String planContribution, String planNote);
	/**
	 * C02、C03校验计划周
	 */
	public int checkPlanWeek(String stuId, String planWeek, String planGroupGlag);
	/**
	 * C02/C03修改计划
	 */
	public int updatePlan(String planId, String planWeek, String planExpect,String planDone,
			Date planCreTime,String planAttendance, String planContribution, String planNote);
	/**
	 * C02/C03删除计划
	 */
	public int removePlan(String planId);
}
